walden / docs

getting started

Quickstart

This page takes a fresh VPS to a running application in about ten minutes, and explains every file it creates along the way. You need a server with a public IP, a domain pointed at it, and SSH access.

1. Install

On the server, as a user with sudo:

$ curl -fsSL https://walden.sh/install | sh

The installer places a single binary in /usr/local/bin/walden and checks that podman, systemd and Caddy are present, installing any that are missing from your distribution's own repositories.

2. Describe your app

walden init writes a minimal walden.toml:

name = "notes-app" domain = "notes.example.com" port = 3000

3. Deploy

$ walden up building notes-app from Containerfile… ok image built 4.2s ok unit installed notes-app.service ok route published notes.example.com ok certificate issued Let's Encrypt live at https://notes.example.com

That's the whole deploy. Walden built the image with podman, installed a systemd unit to keep it running, appended a Caddy block for the domain, and reloaded. Every file it wrote is printed to the terminal.

4. Look around

Everything walden created is a plain file:

~/.config/systemd/user/notes-app.service
the unit
/etc/caddy/walden.d/notes-app.caddy
the route
/var/lib/walden/builds/notes-app/
kept builds, for rollback

Where next